package com.lykj.modules.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.lykj.core.mp.base.BaseEntity;
import com.lykj.core.tenant.mp.TenantEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.data.annotation.Id;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 收货地址实体类
 *
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
@TableName("lykj_user_address")
@ApiModel(value = "UserAddress对象", description = "收货地址实体类")
public class UserAddress implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "主键")
	@TableId(value = "id", type = IdType.ASSIGN_ID)
	@TableField("id")
	private Long addressId;

	/**
	 * 用户UID
	 */
	@ApiModelProperty(value = "用户UID")
	@JsonSerialize(using = ToStringSerializer.class)
	private Long uid;

	/**
	 * 省
	 */
	@ApiModelProperty(value = "省")
	private String province;

	/**
	 * 市
	 */
	@ApiModelProperty(value = "市")
	private String city;

	/**
	 * 区
	 */
	@ApiModelProperty(value = "区")
	private String county;

	/**
	 * 详细地址
	 */
	@ApiModelProperty(value = "详细地址")
	@TableField("detailed_address")
	private String detailedAddress;

	/**
	 * 联系人
	 */
	@ApiModelProperty(value = "联系人")
	private String contacts;

	/**
	 * 别名
	 */
	@ApiModelProperty(value = "别名")
	private String name;

	/**
	 * 手机号
	 */
	@ApiModelProperty(value = "手机号")
	private String mobile;

	/**
	 * 是否默认
	 */
	@ApiModelProperty(value = "是否默认")
	@TableField("is_default")
	private Boolean isDefault;

	/**
	 * 是否已删除
	 */
	@ApiModelProperty(value = "是否已删除")
	private Boolean deleted;
}
